package cn.zzz.openplatform.amap.model.direction;

import cn.hutool.core.annotation.Alias;
import cn.zzz.openplatform.amap.model.AmapOpenApiResponse;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 距离测量响应结果
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AmapDistanceResponse extends AmapOpenApiResponse {
    /**
     * 距离信息列表
     */
    private List<Result> results;

    @Data
    public static class Result {
        /**
         * 起点坐标序列号（从1开始）
         */
        @Alias("origin_id")
        private Integer originId;

        /**
         * 终点坐标序列号（从1开始）
         */
        @Alias("dest_id")
        private Integer destId;

        /**
         * 路径距离, 单位：米
         */
        private Integer distance;

        /**
         * 预计行驶时间, 单位：秒
         */
        private Integer duration;

        /**
         * 仅在出错的时候显示该字段。
         * 大部分显示“未知错误”
         */
        private String info;

        /**
         * 仅在出错的时候显示此字段。
         * 在驾车模式下：
         * 1，指定地点之间没有可以行车的道路
         * 2，起点/终点 距离所有道路均距离过远（例如在海洋/矿业）
         * 3，起点/终点不在中国境内
         */
        private Integer code;
    }
}
